package net.suplementos.pojo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Venda implements Serializable {

    @Id
	@OneToOne
	@JoinColumn(name = "atendimento_id", updatable = false, insertable = false)
    private Atendimento atendimento;

	@Temporal(TemporalType.DATE)
	@Column(name = "data_venda")
	private Date dataVenda;

	@Column(name = "desconto_autorizado")
	private Boolean descontoAutorizado;

	private String situacao;

	@Column(name = "valor_desconto")
	private double valorDesconto;

	@Column(name = "valor_final")
	private double valorFinal;

	@Column(name = "valor_total")
	private double valorTotal;

	@ManyToOne
	private Promocao promocao;

	@ManyToOne
	@JoinColumn(name = "gerente_id")
	private Usuario gerente;

	@ManyToOne
	@JoinColumn(name = "caixa_id")
	private Usuario caixa;

	public Venda() {
	}

	public Date getDataVenda() {
		return this.dataVenda;
	}

	public void setDataVenda(Date dataVenda) {
		this.dataVenda = dataVenda;
	}

	public Boolean getDescontoAutorizado() {
		return this.descontoAutorizado;
	}

	public void setDescontoAutorizado(Boolean descontoAutorizado) {
		this.descontoAutorizado = descontoAutorizado;
	}

	public String getSituacao() {
		return this.situacao;
	}

	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}

	public double getValorDesconto() {
		return this.valorDesconto;
	}

	public void setValorDesconto(double valorDesconto) {
		this.valorDesconto = valorDesconto;
	}

	public double getValorFinal() {
		return this.valorFinal;
	}

	public void setValorFinal(double valorFinal) {
		this.valorFinal = valorFinal;
	}

	public double getValorTotal() {
		return this.valorTotal;
	}

	public void setValorTotal(double valorTotal) {
		this.valorTotal = valorTotal;
	}

	public Atendimento getAtendimento() {
		return this.atendimento;
	}

	public void setAtendimento(Atendimento atendimento) {
		this.atendimento = atendimento;
	}

	public Promocao getPromocao() {
		return this.promocao;
	}

	public void setPromocao(Promocao promocao) {
		this.promocao = promocao;
	}

	public Usuario getGerente() {
		return gerente;
	}

	public void setGerente(Usuario gerente) {
		this.gerente = gerente;
	}

	public Usuario getCaixa() {
		return caixa;
	}

	public void setCaixa(Usuario caixa) {
		this.caixa = caixa;
	}
}